package com.bff.gaia.mix.api.xjoin2.functions;

import com.alibaba.fastjson.JSONObject;
import com.bff.gaia.api.common.functions.Function;
import com.bff.gaia.types.Row;
import com.bff.gaia.util.Collector;

import java.io.Serializable;

public interface SyncXjoinFunction<OUT extends Row> extends Function, Serializable {
	/**
	 * This method is called for each element in the first of the connected streams.
	 *
	 * @param stream The stream element
	 * @param side The side cache element
	 * @param out The out stream element
	 */
	Row xjoin(Row stream, JSONObject side, Collector<OUT> out);
}